/*
(Role）的基类,类中定义了纯虚方法攻击方法attack(),有战士（Warrior）、魔法师(Enchanter)继承至角色类，重写了攻击方法,在主函数中测试，分别调用战士和魔法师的攻击方法。
*/

#include<iostream>
using namespace std;

class Role
{
public:
	virtual void attack()=0;
};

class Warrior : public Role
{
public:
	void attack()
	{
	
		cout<<"warrior"<<endl;
	}
};


class Enchanter : public Role
{
public:

	void attack()
	{
		cout<<"Enchanter"<<endl;
	
	}
};


int main(int argc,char**argv)
{
	Warrior a;
	
	Role *p=&a;

	p->attack();


	Enchanter b;
	Role *q=&b;
	q->attack();


	return 0;
}



